ДЛЯ НОВИЧКОВНЕ ДЛЯ НОВИЧКОВНЕ ОБЯЗАТЕЛЬНОВ РАЗРАБОТКЕ
Разработчику
Архитектору
Чек-лист самопроверки
- Что такое Python и для каких задач он предназначен?
- Какие версии Python существуют и чем отличается Python 2 от Python 3?
- Как устанавливается Python и как проверить его версию в терминале?
- Что такое интерпретатор Python и как он работает?
- Как запустить скрипт на Python из командной строки?
- Что такое REPL и как его использовать?
- Какие есть способы комментирования кода в Python?
- Как объявляются переменные и какие соглашения по именованию приняты (snake_case)?
- Какие примитивные типы данных есть в Python?
- В чём разница между изменяемыми и неизменяемыми объектами?
- Как работают ссылки и присваивание в Python?
- Что такое динамическая типизация и как она проявляется?
- Какие операторы сравнения и логические операторы поддерживаются?
- Как работает условный оператор
if/elif/else?
- Какие циклы есть в Python и чем
for отличается от while?
- Что делает ключевое слово
break, continue, else в циклах?
- Как объявляется функция и что такое параметры по умолчанию?
- Что такое
*args и **kwargs?
- Как возвращается значение из функции и что происходит при отсутствии
return?
- Что такое локальная и глобальная область видимости?
- Как работает ключевое слово
global и nonlocal?
- Что такое лямбда-функции и где они применяются?
- Какие встроенные функции наиболее часто используются (
len, range, map, filter, zip, enumerate)?
- Что такое списковые, словарные и генераторные выражения?
- Как работают исключения и как их обрабатывать (
try/except/finally)?
- Как создавать собственные исключения?
- Что такое модуль и как его импортировать?
- В чём разница между
import module, from module import name, import module as alias?
- Что такое пакет и как организована структура пакета?
- Как создаётся и используется виртуальное окружение?
- Что такое
pip и как управлять зависимостями проекта?
- Как работает файл
requirements.txt?
- Что такое класс и как создаются объекты в Python?
- Какие есть специальные методы (
__init__, __str__, __repr__, __eq__)?
- Что такое наследование и как оно реализуется?
- Как работает множественное наследование и порядок разрешения методов (MRO)?
- Что такое композиция и когда её стоит использовать вместо наследования?
- Что такое свойства (
@property) и декораторы методов (@staticmethod, @classmethod)?
- Как работают контекстные менеджеры и зачем нужен
with?
- Что такое генераторы и как они отличаются от обычных функций?
- Как использовать
yield и зачем нужны генераторные выражения?
- Что такое декораторы и как писать свои?
- Как работает модуль
typing и зачем нужна аннотация типов?
- Какие коллекции есть в стандартной библиотеке (
list, tuple, set, dict, deque, defaultdict, Counter)?
- Как работает работа с файлами (
open, режимы 'r', 'w', 'a', 'b', 't')?
- Что такое сериализация и как использовать
json, pickle?
- Как работает многопоточность и многопроцессность в Python?
- Что такое GIL и как он влияет на производительность?
- Как реализуется асинхронное программирование (
async/await, asyncio)?
- Какие инструменты используются для тестирования кода на Python (
unittest, pytest, doctests)?